package com.crazymaker.springcloud.common.distribute.rateLimit;

public interface RateLimitService {
    /**
     * 是否超过限流器
     * @param cacheKey
     * @return
     */
    Boolean tryAcquire(String cacheKey);

    /**
     * 初始化限流器
     * @param type
     *  类型
     * @param key
     *  限流关键字
     * @param maxPermits
     *  限流上限
     * @param rate
     *  速率
     */
    void initLimitKey(String type, String key, Integer maxPermits, Integer rate);
}
